package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.pojo.Role;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

/**角色管理服务
 * @author YH
 * @date 2020/4/16 14:27
 */
public interface RoleService {

    //分页查询角色列表
    PageResult findPage(QueryPageBean queryPageBean);

    //根据角色id查询关联的菜单和权限
    List<Map<String,Object>> findRoleIdByPermission(Integer roleId);

    //根据角色id删除角色
    void findDeleteByIdRole(Integer roleId);

    //新增角色
    void add(Integer[] menuIds, Integer[] permissionIds,Role role);

    List<Role> findAll();

    //根据角色id获取角色信息
    Role findById(Integer roleId);

    //根据角色id查询角色关联的菜单id
    List<Integer> findRoleByMenu(Integer roleId);

    //根据角色id查询角色关联的权限id
    List<Integer> findRoleByPermission(Integer roleId);

    //编辑角色信息
    void edit(Integer[] menuIds,Integer[] permissionIds,@RequestBody Role role);

    //查询关键字是否唯一
    Integer findRoleKeyWordBycount(String keyword);

}
